<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>使用Symbol类型解决字符串耦合的问题</title>
</head>
<body>
    
</body>
<script>
    /*
        常见的字符串耦合的例子
            例如在年段中统计学生成绩的时候，经常会出现重名的情况，这时候就特别需要使用到Symbol类型
    */
    let arr = {
        '李四':{JS:90,CSS:80},
        '李四':{JS:70,CSS:35}
    }
    console.log(arr)  //{李四: {…}}  只有一条李四的数据 而且是后面的那个李四  原因是被系统给覆盖了

    let user1 = {
        name:'李四',
        key:Symbol()
    }
    let user2 = {
        name:'李四',
        key:Symbol()
    }

    // 在对象中要使用对象要用  []  包裹起来才会拿到对象的值   否则它是以重新开辟一个变量来存放的
    let arr2  = {
        [user1.key]:{JS:88,CSS:77},
        [user2.key]:{JS:59,CSS:60}
    }
    console.log(arr2)  //{Symbol(): {…}, Symbol(): {…}}  此时就不会出现覆盖的现象了 也就是不会出现字符串耦合的情况
</script>
</html>